import seaborn as sns
import matplotlib.pyplot as plt


def first_seaborn_():
    plt.style.use(['tableau-colorblind10'])
    x = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
    y = [123, 145, 152, 182, 147, 138, 189, 201, 203, 211, 201, 182]
    plt.figure(figsize=(8, 6))
    sns.barplot(x=x, y=y)
    plt.ylim(100, 260)
    plt.grid(axis='y', linestyle='--', linewidth=1, color='grey')  # 不用添加参数 b= True
    plt.title("柱状趋势图", fontdict={'size': 12}, loc="center")
    plt.xlabel("月份（mouth)", labelpad=12, fontdict={'color': 'black', 'size': 12})
    plt.ylabel("销售额（万元）", labelpad=12, fontdict={'color': 'black', 'size': 12})  # labelpad = 12 ， 距离x ,y 轴多远
    plt.show(block=False)
    plt.pause(1)
    plt.close('all')


def two_seaborn():
    x = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
    y = [123, 145, 152, 182, 147, 138, 189, 201, 203, 211, 201, 182]
    # sns.relplot(x=x, y=y, hue=x, style=x, sizes=(12, 200))  # 默认为散点scatterplot()
    # (kind="scatter"; 默认) lineplot() (kind="line") ，style 点样式

    sns.relplot(x=x, y=y, kind="line", ci=None)

    plt.show(block=False)
    plt.pause(3)
    plt.close('all')


def three_seaborn():
    x = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
    y = [123, 145, 152, 182, 147, 138, 189, 201, 203, 211, 201, 182]
    sns.catplot(x=x, y=y, )

    plt.show(block=False)
    plt.pause(3)
    plt.close('all')


class Seaborn:
    def __init__(self):
        plt.rcParams['font.sans-serif'] = ['Heiti TC']  # 用来正常显示中文标签
        plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号


s = Seaborn()
# first_seaborn_()
# two_seaborn()
three_seaborn()
